continue PR #202#282
Merged
Merged
Conversation
* normalized headers and started to create a script to create a module file * added macroized export declaration * changed the tests to prefer module use * actually use the module definitions Co-authored-by: Claus Klein <claus.klein@arcormail.de>
- Update infra-workflows from 1.2.1 to 1.3.0, which makes us use the packaged beman-submodule and updated CMake/Ninja in MSVC builds - Update the vendored copy of infra to the latest commit - Update the pre-commit workflows
* Implement P3815 - scope_association * Try to fix CI errors * Remove unnecessary counting scope dtor tests and add a workaround for GCC ICE * Module support
* Refactory install module Add support to install multiple targets Add support named FILE_SET Add support for dependencies Only BEMAN_USE_MODULES AND BEMAN_USE_STD_MODULE should control if modules are used, even if the toolchain supports it! Add cmake/README.md file Reduce usage of CMAKE_EXPERIMENTAL_CXX_IMPORT_STD Use clang++ -print-file-name=c++/libc++.modules.json only on OSX Fix: Not all CI workflow use newest cmake version Fix: find-package-test is only useful for Release build Fix clang-tidy warnings readability-use-concise-preprocessor-directives * Update inline cmake module docu and README * Add support to install multible FILE_SET HEADERS * Apply beman-submodule update * Revert my CI changes * Install semantic versioned target names
Co-authored-by: dietmarkuehl <1319703+dietmarkuehl@users.noreply.github.com>
* change all tests to use modules via a module exposition details * fixed the module use for the examples * restructured everything [optionally] use modules per component * saving intermediate state * storing another progression * added a lot of missing dependencies * some fixes for gcc * moving the definition of completion signature definition * saving some work on moving the completion signatures implementation * moved the completion signature calculation into the tag types * restructured the sender implementation to work with modules on all three compilers * fixed the remaining components to deal with modules * addressed some issues discovered by CI * fixed more issues discovered by CI * address review comments, fixing a few issues * clang format * bring the implementation up to date with recent changes * fixed formatting issues found by CI
* Add component install filter * Set BEMAN_USE_STD_MODULE=true and test shared libs too * Disable BEMAN_USE_STD_MODULE for llvm Quickfix for win32 dll linker error: set WINDOWS_EXPORT_ALL_SYMBOLS=true * Quickfix: build only a STATIC lib for now again
* execution: complete sender_adaptor_closure conformance and adaptor migration - Refactor sender-adaptor closure infrastructure around sender_adaptor_closure, adaptor_closure, and composed closure piping. - Migrate adaptor implementations (then, bulk, let, continues_on, associate, on, affine_on) to the closure-based path. - Enforce [exec.adapt.obj] constraints and behavior: pipe equivalence, composition semantics, construction well-formedness, and noexcept propagation. - Expand sender_adaptor_closure tests for uniqueness detection, composition associativity, composed call pattern, partial application well-formedness, and pipe parity. - Deprecate direct detail::sender_adaptor alias in favor of make_sender_adaptor(...) factories and document the direct-use layout break (Adaptor moved into adaptor_closure_binding with [[no_unique_address]] for EBO, pending product_type support). - Apply quality cleanup in sender_adaptor_closure module/header exports and comments. - Add docs in headers. * remove duplicate import and legacy sender_adaptor.hpp includes on affine_on.hpp * rename is_sender_adaptor_closure_base to get_sender_adaptor_closure_base * isolate operator| in detail::pipeable for ADL hygiene Move the pipe operator overloads from beman::execution into detail::pipeable so they are found only via ADL through the closure_t base class. This prevents the operators from participating in overload resolution for unrelated types in beman::execution. - Reintroduce beman::execution::detail::pipeable namespace. - Add closure_t tag type as ADL anchor for sender_adaptor_closure - Remove export using of operator| from execution.cppm - Document detail::pipeable namespace in common.hpp * explicit use sender_adapter_closure on execution-syn.test * reexport operator| in execution.cppm to fix compilation issues with gcc/llvm presets
…ch-1 Remove myself from codeowners
* Prepare use of cmake v4.3 * Fix typos * Quickfix: PROJECT_NAME as prefix for cmake variable names
Co-authored-by: dietmarkuehl <1319703+dietmarkuehl@users.noreply.github.com>
* draft of using the thread ID for the stack overflow management * use thread::id for stackoverflow management
* Fix Clang C++20 modules AST serialization bug with lambdas Clang fails to deserialize the unevaluated generic lambda used in the `has_completions` concept when building as a C++20 module. Extracted the lambda into a namespace-scope `constexpr` variable template to bypass the AST serialization crash. Extracting it to a constexpr variable caused another set of bugs with MSVC. therefore, lambda completely replaced with SFINAE style 'struct has_completions_impl' * Relax template template parameter matching for Clang 22 Clang 22 rejects passing the constrained template `wrap` to an unconstrained template template parameter (related to LLVM #182671). Relaxed `wrap` and `bad` to use `template <typename S>` in `exec-scope-concepts.test.cpp` to resolve the constraint violation.
* Implement `get_await_completion_adaptor` * Fix CI error * Add a workaround about `has_completions` for clang 22 --------- Co-authored-by: Dietmar Kühl <dietmar.kuehl@me.com>
Co-authored-by: dietmarkuehl <1319703+dietmarkuehl@users.noreply.github.com>
This is a problem for our codespell configuration. We should figure out how to fix this in the general case.
- Promote Clang 22 to primary CI version (full test suite) - Demote Clang 21 to secondary tier alongside 20 and 19 (Release.Default only) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Delete not longer needed etc subdirectory beman-submodule update ... * Quickfix: disable import std; for llmv Release build
Add license section to README.md
Fix LICENSE file for Beman Standard
…-status Fix readme status section to match beman standards.
Fix for readme.badges to match beman standard requirement
…emanproject#265) * added tests for completions being called and fixed an issue with let * action AI review feedback * added a missing header
* fix a problem with starts_on noexcept specification * more missing/wrong noexcept specifications * fix some minor issues detected by CI/AI * clang format
Enable beman-tidy on CI
* Implement P4154 * Format code
* sub_visit.hpp added * fix new line
* sub_visit.hpp added * fix new line * added poly.hpp from beamn.task * added with_error.hpp from beman.task * added allocator_of.hpp from beman.task * added find_allocator.hpp from beman.task * added completion.hpp from beman.task * added error_types_of.hpp * added stop_source_of.hpp * update CMakeLists * added handle.hpp * updated CMakeLists * added state_rep.hpp * added promise_env.hpp * added logger.hpp * add end of line * newline added
* started to implement the changes for P3826 * some progress on get_completion_domain * Refactor transform_sender and sender-algorithms * Fix some errors * Remove `get_domain_early` and `get_domain_late` * Refactor sender-algorithms * Fix affine_on * Add missing `set_value` import in multiple headers * Rename `completion_domain` to `compl_domain` * Update tests * Add missing modules * Fix continues_on * GCC/MSVC module bug workaround * Try fix GCC CI error * Format code * Refactor `transform_sender` * Fix transform_sender --------- Co-authored-by: Dietmar Kühl <dietmar.kuehl@me.com>
* Disable apple clang presets * Prevent LLVM release build errors on LINUX * Disable beman-tidy for now
* Implement `P3941 - Scheduler Affinity` and `P4151 - Rename affine_on` * Format code * Improve readability * Refactor includes and update comments for clarity in affine.hpp
Co-authored-by: dietmarkuehl <1319703+dietmarkuehl@users.noreply.github.com>
* Fix get-attrs in continues_on, starts_on and when_all * Format code * Format code * Add missing `get_completion_signatures` of `starts_on` * Refactor continues_on sender attrs * Refactor get_completion_scheduler * Fix `associate` get_completion_signatures
…nues_on` sender (bemanproject#280) * Unnecessary `set_error(exception_ptr)` for the receiver of the `continues_on` sender * Remove unnecessary std::tuple_size/std::tuple_element workaround for MSVC 19.51 * Fix typo * Fix use-after-free in when_all-cancel.cpp * Fix CI error
# Conflicts: # include/beman/execution/detail/stop_callback_for_t.hpp # include/beman/execution/detail/stoppable_token.hpp # tests/beman/execution/CMakeLists.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
continue PR #202